package com.teaching.teachingsupport.common.pojo.dataobject;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime;

@Data
@TableName("student_homework")
public class StudentHomework {
    @TableId(type = IdType.AUTO)
    private Long id;
    
    @TableField("student_id")
    private Long studentId;
    
    @TableField("homework_id")
    private Long homeworkId;
    
    @TableField("submit_status")
    private String submitStatus;
    
    @TableField("submit_time")
    private LocalDateTime submitTime;
    
    @TableField("score")
    private Integer score;
    
    @TableField("content")
    private String content;
    
    @TableField("comment")
    private String comment;
    
    @TableField("create_time")
    private LocalDateTime createTime;
    
    @TableField("update_time")
    private LocalDateTime updateTime;
    
    @TableField("attachment_path")
    private String attachmentPath;
    
    @TableField("status")
    private String status;
    
    @TableField("review_time")
    private LocalDateTime reviewTime;
    
    @TableField("reviewer_id")
    private Long reviewerId;
    
    @TableField("version")
    private Integer version;
    
    // 非数据库字段，用于展示
    @TableField(exist = false)
    private String title;        // 作业标题
    
    @TableField(exist = false)
    private String courseName;   // 课程名称
    
    @TableField(exist = false)
    private String publisherName; // 发布人姓名
    
    @TableField(exist = false)
    private Integer totalScore;   // 总分
    
    @TableField(exist = false)
    private LocalDateTime deadline; // 截止时间
    
    @TableField(exist = false)
    private String studentName;
    
    @TableField(exist = false)
    private String reviewerName;
    
    @TableField(exist = false)
    private String homeworkTitle;
} 